/**
 * 事件触发类型，格式为TriggerType*1000+模块*100+事件id
 * 比如：1101 表示触发类型为事件，模块为1，事件id为1
 * 模块：
 * 1：战斗
 * 2：阶段
 * 3：活动
 * ...
 * 
 * 事件产生时机一般为整个战斗中的过程中(房间的生命周期，战斗单位的存活生命周期，战斗单位使用技能的生命周期)，根据情况在不同时间点进行事件派发
 * 房间的生命周期：初始化，新阶段，结束
 * 战斗单位的存活生命周期：对象初始化，进入房间，状态改变，属性改变，死亡，移除房间等
 * 战斗单位使用技能的生命周期：使用技能前，被使用技能前，技能判定时机(暴击，闪避等)，技能结算
 */
export default class SkillEventTriggerType {
    //===============战斗_start=================
    public static readonly BeAttackBefore = 1101;//被攻击前
    public static readonly AttackBefore = 1102;//攻击前

    public static readonly CritBefore = 1103;//暴击前
    public static readonly BeCritBefore = 1104;//被暴击前

    public static readonly MissBefore = 1105;//闪避前
    public static readonly BeMissBefore = 1106;//被闪避前

    public static readonly Summary = 1107;//技能结算后

    public static readonly ObjBeforeDead = 1108;//战斗对象死亡前，还没最终被确定死亡，可以进行回血，免死等操作
    public static readonly ObjAfterDead = 1109;//战斗对象死亡后，确定死亡，会被移除


    public static readonly AttackAfter = 1110;//战斗对象死亡前，已经确定死亡，不能再进行回血，免死等操作
    public static readonly BeAttackAfter = 1111;//战斗对象死亡前，已经确定死亡，不能再进行回血，免死等操作

    public static readonly RunTimePropertyChange = 1112;//运行时属性改变,params:属性id,改变属性值,谁造成的这次改变，技能，什么效果导致的这次改变
    public static readonly DeadBefore = 1113;//死亡前



    //被控制前/后


    //===============战斗_end=================
}
